package com.sc.entity.table;

import com.mybatisflex.core.query.QueryColumn;
import com.mybatisflex.core.table.TableDef;

/**
 * 考勤记录表 表定义层。
 *
 * @author JoeZhou
 * @since 2024-09-14
 */
public class AttendanceRecordsTableDef extends TableDef {

    /**
     * 考勤记录表
     */
    public static final AttendanceRecordsTableDef ATTENDANCE_RECORDS = new AttendanceRecordsTableDef();

    public final QueryColumn CLAZZ_ID = new QueryColumn(this,"clazz_id");

    public final QueryColumn ID = new QueryColumn(this, "ID");

    /**
     * 备注
     */
    public final QueryColumn INFO = new QueryColumn(this, "info");

    /**
     * 备注（请假原因、线上出勤等）
     */
    public final QueryColumn NOTE = new QueryColumn(this, "note");

    /**
     * 出勤状态（0：缺勤，1：出勤，2：请假）
     */
    public final QueryColumn STATUS = new QueryColumn(this, "status");

    /**
     * 创建时间
     */
    public final QueryColumn CREATED = new QueryColumn(this, "created");

    /**
     * 更新时间
     */
    public final QueryColumn UPDATED = new QueryColumn(this, "updated");

    /**
     * 版本
     */
    public final QueryColumn VERSION = new QueryColumn(this, "version");

    
    public final QueryColumn IS_DELETE = new QueryColumn(this, "is_delete");

    /**
     * 学生ID
     */
    public final QueryColumn STUDENT_ID = new QueryColumn(this, "student_id");

    /**
     * 授课时间ID
     */
    public final QueryColumn TEACHING_SCHEDULE_ID = new QueryColumn(this, "teaching_schedule_id");

    /**
     * 所有字段。
     */
    public final QueryColumn ALL_COLUMNS = new QueryColumn(this, "*");

    /**
     * 默认字段，不包含逻辑删除或者 large 等字段。
     */
    public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{ID, TEACHING_SCHEDULE_ID, STUDENT_ID,CLAZZ_ID, STATUS, NOTE, IS_DELETE, INFO, CREATED, UPDATED, VERSION};

    public AttendanceRecordsTableDef() {
        super("study_club", "sms_attendance_records");
    }

}
